knitr::opts_chunk$set(echo = TRUE)

cmdstanr::set_cmdstan_path(path = "C:/Users/kueng/.cmdstan/cmdstan-2.35.0")

library(tidyverse)
library(R.utils)
library(wbCorr)
library(readxl)
library(kableExtra)
library(brms)
library(bayesplot)
library(see)
library(beepr)
library(DHARMa)
library(digest)



source(file.path('Functions', 'ReportModels.R'))
source(file.path('Functions', 'PrettyTables.R'))
source(file.path('Functions', 'ReportMeasures.R'))
source(file.path('Functions', 'PrepareData.R'))

report_function_hash <- digest::digest(summarize_brms)
system("shutdown /a")
## [1] 1116
# Set options for analysis
use_mi = FALSE
shutdown = FALSE
report_ordinal = FALSE
report_hurdle = TRUE
do_priorsense = FALSE

options(
  dplyr.print_max = 100, 
  brms.backend = 'cmdstan',
  brms.file_refit = ifelse(use_mi, 'never', 'on_change'),
  brms.file_refit = 'on_change',
  #brms.file_refit = 'always',
  error = function() {
    beepr::beep(sound = 5)
    if (shutdown) {
      system("shutdown /s /t 180")
      quit(save = "no", status = 1)
    }
  }
  , es.use_symbols = TRUE
)


####################### Model parameters #######################

iterations = 2000 # 10'000 per chain to achieve 40'000
warmup = 1000

# NO AR!!!
#corstr = 'ar'
#corstr = 'cosy_couple'
#corstr = 'cosy_couple:user'


################################################################

suffix = as.character(iterations)
df <- openxlsx::read.xlsx(file.path('long.xlsx'))
df_original <- df

df_double <- prepare_data(df, recode_pushing = TRUE, use_mi = use_mi)[[1]]

Constructing scales Re-coding pusing reshaping data (4field) centering data within and between

summary(df_double$pushing)

Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.0000 0.0000 0.0000 0.1635 0.0000 5.0000 241

Modelling

# For indistinguishable Dyads
model_rows_fixed <- c(
    'Intercept', 
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
    
    'plan_selfPlan',
    'plan_partnerPlan',
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions'
  )


model_rows_fixed_ordinal <- c(
  model_rows_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed[2:length(model_rows_fixed)]
)

model_rows_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_ordinal <- c(model_rows_random,'disc')
# For indistinguishable Dyads
model_rownames_fixed <- c(
    "Intercept", 
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",
    
    'Own Actionplan',
    'Partner Actionplan',
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime",
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3'
  )


model_rownames_fixed_ordinal <- c(
  model_rownames_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed[2:length(model_rownames_fixed)]
)

model_rownames_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_ordinal <- c(model_rownames_random,'disc')
rows_to_pack <- list(
  "Within-Person Effects" = c(2,15),
  "Between-Person Effects" = c(16,26),
  "Random Effects" = c(27, 33), 
  "Additional Parameters" = c(34,34)
  )


rows_to_pack_ordinal <- list(
  "Intercepts" = c(1,6),
  "Within-Person Effects" = c(2+5,15+5),
  "Between-Person Effects" = c(16+5,26+5),
  "Random Effects" = c(27+5, 33+5), 
  "Additional Parameters" = c(34+5,34+6)
  )

HURDLE MODELS

# For indistinguishable Dyads
model_rows_fixed_hu <- c(
    'Intercept', 
    'hu_Intercept',
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
  
    'plan_selfPlan',
    'plan_partnerPlan',
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions',
    
    # HURDLE MODEL
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'hu_persuasion_self_cw', 
    'hu_persuasion_partner_cw', 
    'hu_pressure_self_cw', 
    'hu_pressure_partner_cw', 
    'hu_pushing_self_cw', 
    'hu_pushing_partner_cw', 
    'hu_day', 
    'hu_weartime_self_cw',

    'hu_plan_selfPlan',
    'hu_plan_partnerPlan',
    'hu_support_self_cw',
    'hu_support_partner_cw',
    'hu_isWeekendWeekend',
    'hu_got_JITAI_selfJITAIreceived',
    'hu_skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'hu_persuasion_self_cb',
    'hu_persuasion_partner_cb',
    'hu_pressure_self_cb',
    'hu_pressure_partner_cb',
    'hu_pushing_self_cb',
    'hu_pushing_partner_cb',
    'hu_weartime_self_cb',
    
    'hu_support_self_cb',
    'hu_support_partner_cb',
    'hu_studyGroupFirst3weeksinterventions',
    'hu_studyGrouplast3weeksinterventions'
    
  )

model_rows_fixed_hu_ordinal <- c(
  model_rows_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed_hu[3:length(model_rows_fixed_hu)]
)


model_rows_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(hu_Intercept)',
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # HURDLE
  'sd(hu_persuasion_self_cw)',
  'sd(hu_persuasion_partner_cw)',
  'sd(hu_pressure_self_cw)',
  'sd(hu_pressure_partner_cw)',
  'sd(hu_pushing_self_cw)',
  'sd(hu_pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_hu_ordinal <- c(model_rows_random_hu,'disc')
# For indistinguishable Dyads
model_rownames_fixed_hu <- c(
    "Intercept", 
    "Hurdle Intercept",
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",

    'Own Actionplan',
    'Partner Actionplan',
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime", 
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3',
    
    # HURDLE
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Hu Daily persuasion experienced", 
    "Hu Daily persuasion utilized (partner's view)", # OR partner received
    "Hu Daily pressure experienced", 
    "Hu Daily pressure utilized (partner's view)", 
    "Hu Daily pushing experienced", 
    "Hu Daily pushing utilized (partner's view)", 
    "Hu Day", 
    "Hu Daily weartime",

    'Hu Own Actionplan',
    'Hu Partner Actionplan',
    'Hu Daily support received',
    "Hu Daily support provided (partner's view)",
    'Hu Is a Weekend',
    'Hu JITAI received',
    'Hu Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Hu Mean persuasion experienced", 
    "Hu Mean persuasion utilized (partner's view)", 
    "Hu Mean pressure experienced", 
    "Hu Mean pressure utilized (partner's view)", 
    "Hu Mean pushing experienced", 
    "Hu Mean pushing utilized (partner's view)", 
    "Hu Mean weartime",
    
    'Hu Mean support received',
    "Hu Mean support provided (partner's view)",
    'Hu Difference study group 2',
    'Hu Difference study group 3'
  )



model_rownames_fixed_hu_ordinal <- c(
  model_rownames_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed_hu[3:length(model_rownames_fixed_hu)]
)



model_rownames_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(Hurdle Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  
  # Hurdle
  "sd(Hu Daily persuasion experienced)", 
  "sd(Hu Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Hu Daily pressure experienced)", 
  "sd(Hu Daily pressure utilized (partner's view))", 
  "sd(Hu Daily pushing experienced)", 
  "sd(Hu Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_hu_ordinal <- c(model_rownames_random_hu,'disc')
rows_to_pack_hu <- list(
  "Conditional Within-Person Effects" = c(3,17),
  "Conditional Between-Person Effects" = c(18,28),
  
  "Hurdle Within-Person Effects" = c(29,42),
  "Hurdle Between-Person Effects" = c(44,54),
  
  "Random Effects" = c(55, 68), 
  "Additional Parameters" = c(69,69)
  )

rows_to_pack_hu_ordinal <- list(
  "Conditional Within-Person Effects" = c(3+5,17+5),
  "Conditional Between-Person Effects" = c(18+5,28+5),
  
  "Hurdle Within-Person Effects" = c(29+5,42+5),
  "Hurdle Between-Person Effects" = c(44+5,54+5),
  
  "Random Effects" = c(55+5, 68+5), 
  "Additional Parameters" = c(69+5,69+6)
  )

Self-Reported MVPA

Hurdle Lognormal Model

formula <- bf(
  pa_sub ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan_self + plan_partner +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID),
  
  hu = ~ persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan_self + plan_partner +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
) 

prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "b", dpar = "hu")
  , brms::set_prior("normal(0, 50)", class = "Intercept") # for non-zero PA
  , brms::set_prior("normal(0.5, 2.5)", class = "Intercept", dpar = 'hu') # hurdle part
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = hurdle_lognormal()
#)

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_sub <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::hurdle_lognormal(), 
  #family = brms::hurdle_negbinomial(), 
  #family = brms::hurdle_poisson(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 42,
  file = file.path("models_cache_brms", paste0("pa_sub_hu_lognormal_sensplan_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
pa_sub_digest <- digest::digest(pa_sub)
# summarize with rope range for hurdle part
summary_pa_sub_hurdle <- summarize_brms(
  pa_sub, 
  stats_to_report = c('pd','ROPE'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("pd", "ROPE"), rope_range
## = c(-0.18, : Coefficients were exponentiated. Double check if this was
## intended.
# rope range for continuous part of the model
rope_factor <- sd(log(pa_sub$data$pa_sub[pa_sub$data$pa_sub > 0]))
rope_range_continuous = c(-0.1 * rope_factor, 0.1 * rope_factor)

summary_pa_sub_continuous <- summarize_brms(
  pa_sub, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_continuous,
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
# Replace only the ROPE and % in Rope columns for rows with 'Hu'
summary_pa_sub <- summary_pa_sub_continuous

columns_to_replace <- c("ROPE", "inside ROPE")

summary_pa_sub[grepl('Hu', rownames(summary_pa_sub)), columns_to_replace] <- 
  summary_pa_sub_hurdle[grepl('Hu', rownames(summary_pa_sub_hurdle)), columns_to_replace]

# Print the updated dataframe
summary_pa_sub %>%
  print_df(rows_to_pack = rows_to_pack_hu)
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 37.76*** 2.71 [32.95, 43.29] 1.000 [0.92, 1.08] 0.000 1.003 1508 2627
Hurdle Intercept 0.26*** 0.04 [ 0.19, 0.35] 1.000 [0.84, 1.20] 0.000 1.001 1234 2179
Conditional Within-Person Effects
Daily persuasion experienced 1.03 0.03 [ 0.98, 1.09] 0.869 [0.92, 1.08] 0.964 1.003 1513 2172
Daily persuasion utilized (partner’s view) 1.03 0.02 [ 0.99, 1.08] 0.917 [0.92, 1.08] 0.979 1.001 2244 2358
Daily pressure experienced 0.90* 0.05 [ 0.82, 1.00] 0.976 [0.92, 1.08] 0.326 1.000 2851 3102
Daily pressure utilized (partner’s view) 0.95 0.04 [ 0.86, 1.03] 0.895 [0.92, 1.08] 0.707 1.000 4051 3017
Daily pushing experienced 0.98 0.03 [ 0.92, 1.05] 0.696 [0.92, 1.08] 0.956 1.001 2635 2832
Daily pushing utilized (partner’s view) 0.96 0.03 [ 0.91, 1.02] 0.903 [0.92, 1.08] 0.914 1.001 3428 3086
Day 0.99 0.06 [ 0.88, 1.12] 0.543 [0.92, 1.08] 0.795 1.000 5474 2966
Daily weartime NA NA NA NA NA NA NA NA NA
Own Actionplan 1.34*** 0.06 [ 1.22, 1.47] 1.000 [0.92, 1.08] 0.000 1.001 5075 3254
Partner Actionplan 1.07 0.04 [ 0.99, 1.16] 0.943 [0.92, 1.08] 0.598 1.001 4990 3420
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.93 0.15 [ 0.67, 1.30] 0.657 [0.92, 1.08] 0.340 1.004 740 1320
Mean persuasion utilized (partner’s view) 1.00 0.16 [ 0.73, 1.39] 0.503 [0.92, 1.08] 0.384 1.002 745 1309
Mean pressure experienced 1.23 0.22 [ 0.86, 1.75] 0.878 [0.92, 1.08] 0.174 1.003 1194 1803
Mean pressure utilized (partner’s view) 0.94 0.18 [ 0.65, 1.38] 0.626 [0.92, 1.08] 0.290 1.001 1211 2281
Mean pushing experienced 1.17 0.28 [ 0.74, 1.94] 0.755 [0.92, 1.08] 0.221 1.004 1041 1861
Mean pushing utilized (partner’s view) 1.06 0.26 [ 0.66, 1.74] 0.596 [0.92, 1.08] 0.252 1.002 1136 1887
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 1.13* 0.05 [ 1.03, 1.24] 0.995 [0.92, 1.08] 0.168 1.002 1630 2111
Mean support provided (partner’s view) 0.98 0.05 [ 0.89, 1.07] 0.675 [0.92, 1.08] 0.866 1.004 1528 2206
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.58*** 0.11 [ 1.38, 1.84] 1.000 [0.84, 1.20] 0.000 1.001 2582 2871
Hu Daily persuasion utilized (partner’s view) 1.34*** 0.08 [ 1.18, 1.54] 1.000 [0.84, 1.20] 0.038 1.000 3165 2991
Hu Daily pressure experienced 0.96 0.15 [ 0.69, 1.32] 0.611 [0.84, 1.20] 0.730 1.001 3023 2462
Hu Daily pressure utilized (partner’s view) 1.50* 0.28 [ 1.04, 2.34] 0.988 [0.84, 1.20] 0.101 1.001 2931 2031
Hu Daily pushing experienced 0.94 0.14 [ 0.69, 1.33] 0.664 [0.84, 1.20] 0.721 1.001 1619 2407
Hu Daily pushing utilized (partner’s view) 1.28* 0.14 [ 1.04, 1.65] 0.988 [0.84, 1.20] 0.259 1.001 3388 2841
Hu Day 0.86 0.13 [ 0.63, 1.16] 0.836 [0.84, 1.20] 0.565 1.001 6083 3058
Hu Daily weartime NA NA NA NA NA NA NA NA NA
Hu Own Actionplan 9.38*** 0.96 [ 7.75, 11.44] 1.000 [0.84, 1.20] 0.000 1.000 4195 3190
Hu Partner Actionplan 1.17 0.12 [ 0.96, 1.42] 0.944 [0.84, 1.20] 0.585 1.001 5019 3247
Hu Daily support received NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Hu Is a Weekend NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.25 0.42 [ 0.65, 2.43] 0.759 [0.84, 1.20] 0.330 1.000 1007 1785
Hu Mean persuasion utilized (partner’s view) 1.12 0.38 [ 0.58, 2.21] 0.638 [0.84, 1.20] 0.389 1.000 1037 1596
Hu Mean pressure experienced 0.42* 0.17 [ 0.19, 0.90] 0.987 [0.84, 1.20] 0.030 1.000 1486 2456
Hu Mean pressure utilized (partner’s view) 0.54 0.21 [ 0.24, 1.23] 0.933 [0.84, 1.20] 0.117 1.001 1607 2192
Hu Mean pushing experienced 0.77 0.41 [ 0.26, 2.13] 0.692 [0.84, 1.20] 0.237 1.003 1306 2159
Hu Mean pushing utilized (partner’s view) 1.44 0.77 [ 0.49, 4.07] 0.757 [0.84, 1.20] 0.200 1.004 1327 1956
Hu Mean weartime NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.19 0.13 [ 0.96, 1.50] 0.943 [0.84, 1.20] 0.517 1.001 1740 2287
Hu Mean support provided (partner’s view) 1.29* 0.15 [ 1.02, 1.62] 0.986 [0.84, 1.20] 0.269 1.000 1618 2360
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.30 0.04 [0.23, 0.41] NA NA NA 1.001 1130 1751
sd(Hurdle Intercept) 0.68 0.10 [0.51, 0.93] NA NA NA 1.000 1314 2160
sd(Daily persuasion experienced) 0.11 0.02 [0.07, 0.16] NA NA NA 1.003 2073 2692
sd(Daily persuasion utilized (partner’s view)) 0.08 0.02 [0.05, 0.13] NA NA NA 1.001 2569 2500
sd(Daily pressure experienced) 0.06 0.06 [0.00, 0.22] NA NA NA 1.001 1406 1084
sd(Daily pressure utilized (partner’s view)) 0.06 0.05 [0.00, 0.19] NA NA NA 1.001 1898 1833
sd(Daily pushing experienced) 0.09 0.04 [0.01, 0.17] NA NA NA 1.003 1240 930
sd(Daily pushing utilized (partner’s view)) 0.07 0.04 [0.01, 0.15] NA NA NA 1.002 1530 1354
sd(Hu Daily persuasion experienced) 0.20 0.09 [0.02, 0.39] NA NA NA 1.001 909 1042
sd(Hu Daily persuasion utilized (partner’s view)) 0.18 0.09 [0.02, 0.36] NA NA NA 1.000 1158 1231
sd(Hu Daily pressure experienced) 0.19 0.17 [0.01, 0.70] NA NA NA 1.002 1677 2000
sd(Hu Daily pressure utilized (partner’s view)) 0.23 0.22 [0.01, 0.96] NA NA NA 1.000 1620 2125
sd(Hu Daily pushing experienced) 0.57 0.16 [0.29, 0.99] NA NA NA 1.001 1908 2298
sd(Hu Daily pushing utilized (partner’s view)) 0.22 0.13 [0.02, 0.54] NA NA NA 1.004 1475 1460
Additional Parameters
sigma 0.68 0.01 [0.65, 0.70] NA NA NA 1.000 5375 3068
# Plot continuous part of model

variable <- c(
  '(Intercept)',
  'b_persuasion_self_cw',
  'b_persuasion_partner_cw',
  'b_pressure_self_cw',
  'b_pressure_partner_cw',
  'b_pushing_self_cw',
  'b_pushing_partner_cw'
)


plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(
    pa_sub, 
    parameter = variable, 
    range = rope_range_continuous,
    verbose = F,
    ci = 1
  )
) + theme_bw()

# Hurdle part of the model
variable <- c(
  'b_hu_persuasion_self_cw',
  'b_hu_persuasion_partner_cw',
  'b_hu_pressure_self_cw',
  'b_hu_pressure_partner_cw',
  'b_hu_pushing_self_cw',
  'b_hu_pushing_partner_cw'
)

plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()

# The rope range for the bernoulli part of the model is -0.18, 0.18
plot(
  bayestestR::rope(pa_sub, parameter = variable, range = c(-0.18, 0.18), ci = 1),
  verbose = FALSE
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.75). This might lead to inappropriate
##   results. See 'Details' in '?rope'.

Device Based MVPA

Lognormal Model

formula <- bf(
  pa_obj ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan_self + plan_partner +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + weartime_self_cw + weartime_self_cb +
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 50)", class = "Intercept") 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = lognormal()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_obj_log <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = lognormal(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("pa_obj_log_gaussian_sensplan_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
pa_obj_log_digest <- digest::digest(pa_obj_log)
# rope range for lognormal model
rope_factor <- sd(log(pa_obj_log$data$pa_obj))
rope_range_log = c(-0.1 * rope_factor, 0.1 * rope_factor)

summarize_brms(
  pa_obj_log, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_log,
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
## Warning in summarize_brms(pa_obj_log, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 110.96*** 5.92 [99.36, 123.46] 1.000 [0.94, 1.07] 0.000 1.002 1123 1723
Within-Person Effects
Daily persuasion experienced 1.03 0.01 [ 1.00, 1.06] 0.954 [0.94, 1.07] 0.994 1.001 4057 3136
Daily persuasion utilized (partner’s view) 1.02 0.02 [ 0.98, 1.05] 0.862 [0.94, 1.07] 0.998 1.000 4471 3069
Daily pressure experienced 0.95 0.03 [ 0.89, 1.01] 0.945 [0.94, 1.07] 0.613 1.001 5711 3456
Daily pressure utilized (partner’s view) 0.98 0.03 [ 0.92, 1.05] 0.709 [0.94, 1.07] 0.913 1.001 6938 2988
Daily pushing experienced 1.02 0.02 [ 0.96, 1.07] 0.732 [0.94, 1.07] 0.972 1.001 4440 3112
Daily pushing utilized (partner’s view) 1.00 0.02 [ 0.96, 1.04] 0.510 [0.94, 1.07] 0.997 1.001 6165 3302
Day 0.97 0.04 [ 0.91, 1.04] 0.787 [0.94, 1.07] 0.840 1.002 8556 2482
Daily weartime 1.00*** 0.00 [ 1.00, 1.00] 1.000 [0.94, 1.07] 1.000 1.000 4024 2747
Own Actionplan 1.07* 0.03 [ 1.01, 1.12] 0.994 [0.94, 1.07] 0.511 1.002 7171 2993
Partner Actionplan 1.05 0.03 [ 1.00, 1.10] 0.971 [0.94, 1.07] 0.768 1.000 5780 3470
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Between-Person Effects
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Mean persuasion experienced 1.07 0.15 [ 0.80, 1.42] 0.673 [0.94, 1.07] 0.320 1.006 998 1782
Mean persuasion utilized (partner’s view) 0.98 0.14 [ 0.74, 1.32] 0.547 [0.94, 1.07] 0.346 1.008 1003 1879
Mean pressure experienced 1.02 0.15 [ 0.76, 1.35] 0.538 [0.94, 1.07] 0.336 1.005 1304 2027
Mean pressure utilized (partner’s view) 0.97 0.14 [ 0.74, 1.28] 0.594 [0.94, 1.07] 0.339 1.006 1261 2146
Mean pushing experienced 0.90 0.20 [ 0.59, 1.42] 0.680 [0.94, 1.07] 0.213 1.004 1321 2210
Mean pushing utilized (partner’s view) 1.09 0.24 [ 0.72, 1.71] 0.668 [0.94, 1.07] 0.227 1.003 1314 2212
Mean weartime 1.00 0.00 [ 1.00, 1.00] 0.929 [0.94, 1.07] 1.000 1.001 5678 3486
Mean support received 1.06 0.04 [ 0.98, 1.16] 0.931 [0.94, 1.07] 0.525 1.001 1624 2489
Mean support provided (partner’s view) 1.00 0.04 [ 0.92, 1.09] 0.508 [0.94, 1.07] 0.861 1.000 1727 2465
Difference study group 2 NA NA NA NA NA NA NA NA NA
Random Effects
Difference study group 3 NA NA NA NA NA NA NA NA NA
sd(Intercept) 0.29 0.04 [0.23, 0.39] NA NA NA 1.002 1113 1711
sd(Daily persuasion experienced) 0.05 0.01 [0.02, 0.08] NA NA NA 1.001 2332 2180
sd(Daily persuasion utilized (partner’s view)) 0.06 0.02 [0.03, 0.09] NA NA NA 1.002 1756 2594
sd(Daily pressure experienced) 0.04 0.03 [0.00, 0.13] NA NA NA 1.001 2561 2947
sd(Daily pressure utilized (partner’s view)) 0.03 0.03 [0.00, 0.11] NA NA NA 1.000 2706 2354
sd(Daily pushing experienced) 0.07 0.04 [0.01, 0.15] NA NA NA 1.001 1238 1395
Additional Parameters
sd(Daily pushing utilized (partner’s view)) 0.03 0.02 [0.00, 0.10] NA NA NA 1.001 1805 2243
sigma 0.57 0.01 [0.56, 0.59] NA NA NA 1.001 8709 3013
plot(
  bayestestR::p_direction(pa_obj_log),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(pa_obj_log, range = rope_range_log, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.88), b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.74), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.74), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.78), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.84). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

# Nothing significant, no plots

Affect

Gaussian

formula <- bf(
  aff ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan_self + plan_partner +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 5)", class = "b")
  ,brms::set_prior("normal(0, 20)", class = "Intercept", lb=1, ub=6)
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = gaussian()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

mood_gauss <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = gaussian(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("mood_gauss_sensplan_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
mood_gauss_digest <- digest::digest(mood_gauss)
summarize_brms(
  mood_gauss, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = F) %>%
  print_df(rows_to_pack = rows_to_pack)
Est. SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 3.67*** 0.11 [ 3.46, 3.88] 1.000 [-0.11, 0.11] 0.000 1.005 494 995
Within-Person Effects
Daily persuasion experienced 0.00 0.02 [-0.04, 0.04] 0.513 [-0.11, 0.11] 1.000 1.000 3090 2319
Daily persuasion utilized (partner’s view) 0.02 0.02 [-0.02, 0.07] 0.809 [-0.11, 0.11] 0.999 1.002 2401 2785
Daily pressure experienced -0.03 0.05 [-0.14, 0.07] 0.703 [-0.11, 0.11] 0.939 1.000 2851 2367
Daily pressure utilized (partner’s view) -0.03 0.06 [-0.14, 0.08] 0.696 [-0.11, 0.11] 0.928 1.001 2783 2339
Daily pushing experienced 0.00 0.03 [-0.06, 0.07] 0.558 [-0.11, 0.11] 0.998 1.001 3192 2741
Daily pushing utilized (partner’s view) 0.07* 0.03 [ 0.00, 0.14] 0.980 [-0.11, 0.11] 0.896 1.001 2718 2818
Day 0.26*** 0.05 [ 0.15, 0.36] 1.000 [-0.11, 0.11] 0.003 1.002 5194 3076
Daily weartime NA NA NA NA NA NA NA NA NA
Own Actionplan 0.11** 0.04 [ 0.03, 0.18] 0.998 [-0.11, 0.11] 0.567 1.002 3960 3075
Partner Actionplan -0.04 0.04 [-0.11, 0.04] 0.828 [-0.11, 0.11] 0.978 1.000 3687 2671
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Between-Person Effects
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Mean persuasion experienced 0.25 0.28 [-0.34, 0.79] 0.818 [-0.11, 0.11] 0.216 1.006 474 976
Mean persuasion utilized (partner’s view) 0.31 0.28 [-0.26, 0.86] 0.865 [-0.11, 0.11] 0.175 1.005 484 908
Mean pressure experienced -0.26 0.27 [-0.78, 0.32] 0.818 [-0.11, 0.11] 0.204 1.004 530 1124
Mean pressure utilized (partner’s view) -0.37 0.28 [-0.90, 0.19] 0.907 [-0.11, 0.11] 0.136 1.004 552 1158
Mean pushing experienced 0.23 0.41 [-0.57, 1.08] 0.715 [-0.11, 0.11] 0.180 1.009 628 1132
Mean pushing utilized (partner’s view) 0.21 0.43 [-0.59, 1.04] 0.682 [-0.11, 0.11] 0.185 1.007 626 1054
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.14 0.08 [-0.01, 0.30] 0.966 [-0.11, 0.11] 0.377 1.002 758 1346
Mean support provided (partner’s view) -0.10 0.07 [-0.25, 0.06] 0.895 [-0.11, 0.11] 0.591 1.002 771 1359
Difference study group 2 NA NA NA NA NA NA NA NA NA
Random Effects
Difference study group 3 NA NA NA NA NA NA NA NA NA
sd(Intercept) 0.60 0.08 [0.48, 0.79] NA NA NA 1.006 783 1326
sd(Daily persuasion experienced) 0.04 0.03 [0.00, 0.10] NA NA NA 1.003 1001 1618
sd(Daily persuasion utilized (partner’s view)) 0.07 0.03 [0.01, 0.13] NA NA NA 1.002 1020 912
sd(Daily pressure experienced) 0.07 0.06 [0.00, 0.25] NA NA NA 1.003 1489 1685
sd(Daily pressure utilized (partner’s view)) 0.08 0.07 [0.00, 0.27] NA NA NA 1.003 1181 1668
sd(Daily pushing experienced) 0.05 0.04 [0.00, 0.15] NA NA NA 1.002 1348 1388
Additional Parameters
sd(Daily pushing utilized (partner’s view)) 0.07 0.05 [0.00, 0.16] NA NA NA 1.000 1215 1546
sigma 0.96 0.01 [0.94, 0.98] NA NA NA 1.001 4684 2648
plot(
  bayestestR::p_direction(mood_gauss),
  priors = TRUE
)  + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(mood_gauss, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.82), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.79), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.79), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.82), b_pressure_partner_cb and
##   b_pressure_self_cb (r = 0.76), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.9), b_support_partner_cb and b_support_self_cb
##   (r = 0.77). This might lead to inappropriate results. See 'Details' in
##   '?rope'.

conditional_spaghetti(
  mood_gauss, 
  effects = c('pushing_partner_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

$pushing_partner_cw

Reactance

Ordinal

df_double$reactance_ordinal <- factor(df_double$reactance,
                                      levels = 0:5, 
                                      ordered = TRUE)

formula <- bf(
  reactance_ordinal ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan_self + plan_partner +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = cumulative() # HURDLE_CUMULATIVE
#  )


#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

reactance_ordinal <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::cumulative(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777
  , file = file.path("models_cache_brms", paste0("reactance_ordinal_sensplan_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
reactance_ordinal_digest <- digest::digest(reactance_ordinal)
summarize_brms(
  reactance_ordinal,
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_ordinal,
  model_rows_random = model_rows_random_ordinal,
  model_rownames_fixed = model_rownames_fixed_ordinal,
  model_rownames_random = model_rownames_random_ordinal,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack_ordinal)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercepts
Intercept NA NA NA NA NA NA NA NA NA
Intercept[1] 3.50*** 1.07 [ 1.99, 6.41] 1.000 [0.84, 1.20] 0.000 1.002 3496 3249
Intercept[2] 7.58*** 2.37 [ 4.22, 14.31] 1.000 [0.84, 1.20] 0.000 1.001 3633 3241
Intercept[3] 21.33*** 7.19 [ 11.36, 41.45] 1.000 [0.84, 1.20] 0.000 1.000 3805 3619
Intercept[4] 93.09*** 34.57 [ 45.20, 199.92] 1.000 [0.84, 1.20] 0.000 1.001 3914 3584
Intercept[5] 3140.12*** 2162.47 [904.97, 12624.37] 1.000 [0.84, 1.20] 0.000 1.002 4993 2961
Within-Person Effects
Daily persuasion experienced 0.85* 0.07 [ 0.72, 0.99] 0.981 [0.84, 1.20] 0.569 1.001 3451 3081
Daily persuasion utilized (partner’s view) 1.03 0.10 [ 0.84, 1.25] 0.605 [0.84, 1.20] 0.919 1.001 3548 2708
Daily pressure experienced 1.84* 0.35 [ 1.17, 2.68] 0.993 [0.84, 1.20] 0.029 1.001 2482 2611
Daily pressure utilized (partner’s view) 1.22 0.29 [ 0.72, 2.07] 0.799 [0.84, 1.20] 0.402 1.002 2408 2091
Daily pushing experienced 1.21 0.13 [ 0.98, 1.52] 0.964 [0.84, 1.20] 0.446 1.001 2868 2888
Daily pushing utilized (partner’s view) 0.93 0.12 [ 0.70, 1.22] 0.724 [0.84, 1.20] 0.758 1.002 3177 2170
Day 1.46 0.51 [ 0.75, 2.87] 0.869 [0.84, 1.20] 0.234 1.001 5044 3196
Daily weartime NA NA NA NA NA NA NA NA NA
Own Actionplan 0.86 0.25 [ 0.51, 1.51] 0.692 [0.84, 1.20] 0.417 1.000 3803 3250
Partner Actionplan 0.93 0.24 [ 0.56, 1.56] 0.611 [0.84, 1.20] 0.496 1.000 3925 3047
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Between-Person Effects
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Mean persuasion experienced 1.23 0.64 [ 0.43, 3.47] 0.660 [0.84, 1.20] 0.250 1.002 1544 2434
Mean persuasion utilized (partner’s view) 1.36 0.81 [ 0.45, 4.47] 0.688 [0.84, 1.20] 0.216 1.002 1849 2116
Mean pressure experienced 3.59* 1.90 [ 1.29, 10.54] 0.993 [0.84, 1.20] 0.016 1.002 1632 2602
Mean pressure utilized (partner’s view) 1.20 0.68 [ 0.37, 3.54] 0.630 [0.84, 1.20] 0.235 1.002 1819 2361
Mean pushing experienced 1.74 1.33 [ 0.36, 8.34] 0.753 [0.84, 1.20] 0.139 1.001 1750 2428
Mean pushing utilized (partner’s view) 0.15 0.14 [ 0.02, 1.02] 0.973 [0.84, 1.20] 0.023 1.004 2420 2888
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.73 0.21 [ 0.40, 1.29] 0.860 [0.84, 1.20] 0.280 1.000 3543 3289
Mean support provided (partner’s view) 0.93 0.20 [ 0.59, 1.44] 0.637 [0.84, 1.20] 0.567 1.000 2979 2941
Difference study group 2 NA NA NA NA NA NA NA NA NA
Random Effects
Difference study group 3 NA NA NA NA NA NA NA NA NA
sd(Intercept) 0.79 0.20 [0.45, 1.26] NA NA NA 1.002 1341 2494
sd(Daily persuasion experienced) 0.16 0.12 [0.01, 0.42] NA NA NA 1.002 845 1487
sd(Daily persuasion utilized (partner’s view)) 0.22 0.14 [0.01, 0.53] NA NA NA 1.001 1105 1107
sd(Daily pressure experienced) 0.54 0.25 [0.11, 1.13] NA NA NA 1.003 1038 963
sd(Daily pressure utilized (partner’s view)) 0.40 0.38 [0.02, 1.52] NA NA NA 1.003 1052 1847
sd(Daily pushing experienced) 0.23 0.13 [0.02, 0.54] NA NA NA 1.002 1314 1574
Additional Parameters
sd(Daily pushing utilized (partner’s view)) 0.15 0.14 [0.01, 0.65] NA NA NA 1.002 1489 2062
sigma NA NA NA NA NA NA NA NA NA
disc 1.00 0.00 [1.00, 1.00] NA NA NA NA NA NA
plot(
  bayestestR::p_direction(reactance_ordinal),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(reactance_ordinal, range = c(-0.18, 0.18), ci = 1)
) + theme_bw()
## Possible multicollinearity between b_Intercept[4] and b_Intercept[2] (r
##   = 0.79), b_Intercept[4] and b_Intercept[3] (r = 0.85),
##   b_pressure_partner_cb and b_persuasion_partner_cb (r = 0.78). This might
##   lead to inappropriate results. See 'Details' in '?rope'.

conditional_spaghetti(
  reactance_ordinal, 
  effects = c('persuasion_self_cw', 'pressure_self_cw')
  , group_var = 'coupleID'
  #, n_groups = 15
  , plot_full_range = T
)

\(persuasion_self_cw <img src="02_SensitivityPlan_files/figure-html/report_reactance_ordinal-3.png" width="2400" />\)pressure_self_cw

Binary

introduce_binary_reactance <- function(data) {
  data$is_reactance <- factor(data$reactance > 0, levels = c(FALSE, TRUE), labels = c(0, 1))
  return(data)
}



df_double <- introduce_binary_reactance(df_double)
if (use_mi) {
  for (i in seq_along(implist)) {
    implist[[i]] <- introduce_binary_reactance(implist[[i]])
  }
}


formula <- bf(
  is_reactance ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan_self + plan_partner +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
  )



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 10)", class = "Intercept", lb=0, ub=5) 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = bernoulli()
#  )



#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

is_reactance <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::bernoulli(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("is_reactance_sensplan_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
is_reactance_digest <- digest::digest(is_reactance)
summarize_brms(
  is_reactance, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 0.32** 0.11 [0.16, 0.61] 0.999 [0.83, 1.20] 0.002 1.000 3292 3072
Within-Person Effects
Daily persuasion experienced 0.84 0.08 [0.69, 1.01] 0.968 [0.83, 1.20] 0.549 1.004 2721 2890
Daily persuasion utilized (partner’s view) 1.11 0.16 [0.84, 1.50] 0.770 [0.83, 1.20] 0.669 1.002 1901 2707
Daily pressure experienced 1.95* 0.61 [1.03, 4.50] 0.978 [0.83, 1.20] 0.053 1.001 1872 1489
Daily pressure utilized (partner’s view) 1.40 0.58 [0.56, 3.78] 0.792 [0.83, 1.20] 0.236 1.002 2167 2738
Daily pushing experienced 1.33* 0.18 [1.03, 1.75] 0.986 [0.83, 1.20] 0.209 1.000 2504 2117
Daily pushing utilized (partner’s view) 0.92 0.18 [0.61, 1.40] 0.666 [0.83, 1.20] 0.606 1.001 2913 2673
Day 1.65 0.66 [0.75, 3.57] 0.898 [0.83, 1.20] 0.166 1.002 4069 2618
Daily weartime NA NA NA NA NA NA NA NA NA
Own Actionplan 0.89 0.29 [0.48, 1.71] 0.638 [0.83, 1.20] 0.405 1.001 3369 2993
Partner Actionplan 0.88 0.27 [0.49, 1.55] 0.668 [0.83, 1.20] 0.425 1.000 3665 2744
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Between-Person Effects
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Mean persuasion experienced 2.19 1.40 [0.65, 7.77] 0.892 [0.83, 1.20] 0.107 1.003 1702 2628
Mean persuasion utilized (partner’s view) 2.10 1.51 [0.56, 8.98] 0.850 [0.83, 1.20] 0.125 1.005 1629 2010
Mean pressure experienced 19.04** 20.59 [2.55, 187.81] 0.998 [0.83, 1.20] 0.003 1.001 1712 2118
Mean pressure utilized (partner’s view) 2.14 2.50 [0.22, 19.14] 0.756 [0.83, 1.20] 0.097 1.004 1597 2302
Mean pushing experienced 1.21 1.30 [0.16, 9.35] 0.569 [0.83, 1.20] 0.131 1.000 1789 2653
Mean pushing utilized (partner’s view) 0.11 0.12 [0.01, 1.01] 0.975 [0.83, 1.20] 0.018 1.001 2101 2615
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.78 0.27 [0.40, 1.50] 0.768 [0.83, 1.20] 0.320 1.002 2658 2842
Mean support provided (partner’s view) 0.83 0.22 [0.48, 1.40] 0.765 [0.83, 1.20] 0.410 1.000 2283 2773
Difference study group 2 NA NA NA NA NA NA NA NA NA
Random Effects
Difference study group 3 NA NA NA NA NA NA NA NA NA
sd(Intercept) 1.16 0.26 [0.73, 1.80] NA NA NA 1.002 1226 2136
sd(Daily persuasion experienced) 0.22 0.14 [0.01, 0.52] NA NA NA 1.017 785 1339
sd(Daily persuasion utilized (partner’s view)) 0.49 0.21 [0.12, 1.00] NA NA NA 1.004 792 506
sd(Daily pressure experienced) 1.04 0.56 [0.10, 2.44] NA NA NA 1.006 649 897
sd(Daily pressure utilized (partner’s view)) 0.81 0.63 [0.05, 2.72] NA NA NA 1.001 1139 1704
sd(Daily pushing experienced) 0.27 0.16 [0.02, 0.64] NA NA NA 1.002 1188 1148
Additional Parameters
sd(Daily pushing utilized (partner’s view)) 0.27 0.24 [0.01, 0.93] NA NA NA 1.000 1369 1856
sigma NA NA NA NA NA NA NA NA NA
plot(
  bayestestR::p_direction(is_reactance),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(is_reactance, ci = 1)
) + theme_bw()

conditional_spaghetti(
  is_reactance, 
  effects = c('pressure_self_cw', 'pushing_self_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

\(pressure_self_cw <img src="02_SensitivityPlan_files/figure-html/report_is_reactance-3.png" width="2400" />\)pushing_self_cw

Report All Models

process_model_component <- function(obj) {
  # Convert to string, modify, and evaluate
  name <- deparse(substitute(obj))
  if (report_hurdle) name <- paste0(name, '_hu')
  if (report_ordinal) name <- paste0(name, '_ordinal')
  return(get(name, envir = parent.frame()))
}



all_models <- report_side_by_side(
  pa_sub,
  pa_obj_log,
  mood_gauss,
  reactance_ordinal,
  is_reactance,
  
  stats_to_report = c('CI', 'pd'),
  
  model_rows_random = process_model_component(model_rows_random),
  model_rows_fixed = process_model_component(model_rows_fixed),
  model_rownames_random = process_model_component(model_rownames_random),
  model_rownames_fixed = process_model_component(model_rownames_fixed)
) 

[1] “pa_sub”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “pa_obj_log”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “mood_gauss” [1] “reactance_ordinal” [1] “is_reactance”

# pretty printing

summary_all_models <- all_models %>%
  print_df(rows_to_pack = process_model_component(rows_to_pack)) %>%
  add_header_above(
    c(" ", "Subjective MVPA Hurdle Lognormal" = (length(all_models) / 5),  
      "Device-Based MVPA Log (Gaussian)" = (length(all_models) / 5), 
      "Mood Gaussian" = (length(all_models) / 5),
      "Reactance Ordinal" = (length(all_models) / 5),
      "Reactance Dichotome" = (length(all_models) / 5))
  )


export_xlsx(
  summary_all_models, 
  rows_to_pack = process_model_component(rows_to_pack),
  file.path("Output", "AllModels_sensPlan.xlsx"), 
  merge_option = 'header', 
  simplify_2nd_row = TRUE,
  line_above_rows = c(1,2),
  line_below_rows = c(-1)
)
## 
## Attaching package: 'rvest'
## The following object is masked from 'package:readr':
## 
##     guess_encoding
print(summary_all_models)
Subjective MVPA Hurdle Lognormal
Device-Based MVPA Log (Gaussian)
Mood Gaussian
Reactance Ordinal
Reactance Dichotome
exp(Est.) pa_sub 95% CI pa_sub pd pa_sub exp(Est.) pa_obj_log 95% CI pa_obj_log pd pa_obj_log Est. mood_gauss 95% CI mood_gauss pd mood_gauss OR reactance_ordinal 95% CI reactance_ordinal pd reactance_ordinal OR is_reactance 95% CI is_reactance pd is_reactance
Intercept 37.76*** [32.95, 43.29] 1.000 110.96*** [99.36, 123.46] 1.000 3.67*** [ 3.46, 3.88] 1.000 NA NA NA 0.32** [0.16, 0.61] 0.999
Hurdle Intercept 0.26*** [ 0.19, 0.35] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Within-Person Effects
Daily persuasion experienced 1.03 [ 0.98, 1.09] 0.869 1.03 [ 1.00, 1.06] 0.954 0.00 [-0.04, 0.04] 0.513 0.85* [ 0.72, 0.99] 0.981 0.84 [0.69, 1.01] 0.968
Daily persuasion utilized (partner’s view) 1.03 [ 0.99, 1.08] 0.917 1.02 [ 0.98, 1.05] 0.862 0.02 [-0.02, 0.07] 0.809 1.03 [ 0.84, 1.25] 0.605 1.11 [0.84, 1.50] 0.770
Daily pressure experienced 0.90* [ 0.82, 1.00] 0.976 0.95 [ 0.89, 1.01] 0.945 -0.03 [-0.14, 0.07] 0.703 1.84* [ 1.17, 2.68] 0.993 1.95* [1.03, 4.50] 0.978
Daily pressure utilized (partner’s view) 0.95 [ 0.86, 1.03] 0.895 0.98 [ 0.92, 1.05] 0.709 -0.03 [-0.14, 0.08] 0.696 1.22 [ 0.72, 2.07] 0.799 1.40 [0.56, 3.78] 0.792
Daily pushing experienced 0.98 [ 0.92, 1.05] 0.696 1.02 [ 0.96, 1.07] 0.732 0.00 [-0.06, 0.07] 0.558 1.21 [ 0.98, 1.52] 0.964 1.33* [1.03, 1.75] 0.986
Daily pushing utilized (partner’s view) 0.96 [ 0.91, 1.02] 0.903 1.00 [ 0.96, 1.04] 0.510 0.07* [ 0.00, 0.14] 0.980 0.93 [ 0.70, 1.22] 0.724 0.92 [0.61, 1.40] 0.666
Day 0.99 [ 0.88, 1.12] 0.543 0.97 [ 0.91, 1.04] 0.787 0.26*** [ 0.15, 0.36] 1.000 1.46 [ 0.75, 2.87] 0.869 1.65 [0.75, 3.57] 0.898
Daily weartime NA NA NA 1.00*** [ 1.00, 1.00] 1.000 NA NA NA NA NA NA NA NA NA
Own Actionplan 1.34*** [ 1.22, 1.47] 1.000 1.07* [ 1.01, 1.12] 0.994 0.11** [ 0.03, 0.18] 0.998 0.86 [ 0.51, 1.51] 0.692 0.89 [0.48, 1.71] 0.638
Partner Actionplan 1.07 [ 0.99, 1.16] 0.943 1.05 [ 1.00, 1.10] 0.971 -0.04 [-0.11, 0.04] 0.828 0.93 [ 0.56, 1.56] 0.611 0.88 [0.49, 1.55] 0.668
Daily support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.93 [ 0.67, 1.30] 0.657 1.07 [ 0.80, 1.42] 0.673 0.25 [-0.34, 0.79] 0.818 1.23 [ 0.43, 3.47] 0.660 2.19 [0.65, 7.77] 0.892
Mean persuasion utilized (partner’s view) 1.00 [ 0.73, 1.39] 0.503 0.98 [ 0.74, 1.32] 0.547 0.31 [-0.26, 0.86] 0.865 1.36 [ 0.45, 4.47] 0.688 2.10 [0.56, 8.98] 0.850
Mean pressure experienced 1.23 [ 0.86, 1.75] 0.878 1.02 [ 0.76, 1.35] 0.538 -0.26 [-0.78, 0.32] 0.818 3.59* [ 1.29, 10.54] 0.993 19.04** [2.55, 187.81] 0.998
Mean pressure utilized (partner’s view) 0.94 [ 0.65, 1.38] 0.626 0.97 [ 0.74, 1.28] 0.594 -0.37 [-0.90, 0.19] 0.907 1.20 [ 0.37, 3.54] 0.630 2.14 [0.22, 19.14] 0.756
Mean pushing experienced 1.17 [ 0.74, 1.94] 0.755 0.90 [ 0.59, 1.42] 0.680 0.23 [-0.57, 1.08] 0.715 1.74 [ 0.36, 8.34] 0.753 1.21 [0.16, 9.35] 0.569
Mean pushing utilized (partner’s view) 1.06 [ 0.66, 1.74] 0.596 1.09 [ 0.72, 1.71] 0.668 0.21 [-0.59, 1.04] 0.682 0.15 [ 0.02, 1.02] 0.973 0.11 [0.01, 1.01] 0.975
Mean weartime NA NA NA 1.00 [ 1.00, 1.00] 0.929 NA NA NA NA NA NA NA NA NA
Mean support received 1.13* [ 1.03, 1.24] 0.995 1.06 [ 0.98, 1.16] 0.931 0.14 [-0.01, 0.30] 0.966 0.73 [ 0.40, 1.29] 0.860 0.78 [0.40, 1.50] 0.768
Mean support provided (partner’s view) 0.98 [ 0.89, 1.07] 0.675 1.00 [ 0.92, 1.09] 0.508 -0.10 [-0.25, 0.06] 0.895 0.93 [ 0.59, 1.44] 0.637 0.83 [0.48, 1.40] 0.765
Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.58*** [ 1.38, 1.84] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily persuasion utilized (partner’s view) 1.34*** [ 1.18, 1.54] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure experienced 0.96 [ 0.69, 1.32] 0.611 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure utilized (partner’s view) 1.50* [ 1.04, 2.34] 0.988 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing experienced 0.94 [ 0.69, 1.33] 0.664 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing utilized (partner’s view) 1.28* [ 1.04, 1.65] 0.988 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Day 0.86 [ 0.63, 1.16] 0.836 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Own Actionplan 9.38*** [ 7.75, 11.44] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Partner Actionplan 1.17 [ 0.96, 1.42] 0.944 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.25 [ 0.65, 2.43] 0.759 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean persuasion utilized (partner’s view) 1.12 [ 0.58, 2.21] 0.638 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure experienced 0.42* [ 0.19, 0.90] 0.987 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure utilized (partner’s view) 0.54 [ 0.24, 1.23] 0.933 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing experienced 0.77 [ 0.26, 2.13] 0.692 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing utilized (partner’s view) 1.44 [ 0.49, 4.07] 0.757 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.19 [ 0.96, 1.50] 0.943 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) 1.29* [ 1.02, 1.62] 0.986 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.30 [0.23, 0.41] NA 0.29 [0.23, 0.39] NA 0.60 [0.48, 0.79] NA 0.79 [0.45, 1.26] NA 1.16 [0.73, 1.80] NA
sd(Hurdle Intercept) 0.68 [0.51, 0.93] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Daily persuasion experienced) 0.11 [0.07, 0.16] NA 0.05 [0.02, 0.08] NA 0.04 [0.00, 0.10] NA 0.16 [0.01, 0.42] NA 0.22 [0.01, 0.52] NA
sd(Daily persuasion utilized (partner’s view)) 0.08 [0.05, 0.13] NA 0.06 [0.03, 0.09] NA 0.07 [0.01, 0.13] NA 0.22 [0.01, 0.53] NA 0.49 [0.12, 1.00] NA
sd(Daily pressure experienced) 0.06 [0.00, 0.22] NA 0.04 [0.00, 0.13] NA 0.07 [0.00, 0.25] NA 0.54 [0.11, 1.13] NA 1.04 [0.10, 2.44] NA
sd(Daily pressure utilized (partner’s view)) 0.06 [0.00, 0.19] NA 0.03 [0.00, 0.11] NA 0.08 [0.00, 0.27] NA 0.40 [0.02, 1.52] NA 0.81 [0.05, 2.72] NA
sd(Daily pushing experienced) 0.09 [0.01, 0.17] NA 0.07 [0.01, 0.15] NA 0.05 [0.00, 0.15] NA 0.23 [0.02, 0.54] NA 0.27 [0.02, 0.64] NA
sd(Daily pushing utilized (partner’s view)) 0.07 [0.01, 0.15] NA 0.03 [0.00, 0.10] NA 0.07 [0.00, 0.16] NA 0.15 [0.01, 0.65] NA 0.27 [0.01, 0.93] NA
sd(Hu Daily persuasion experienced) 0.20 [0.02, 0.39] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily persuasion utilized (partner’s view)) 0.18 [0.02, 0.36] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure experienced) 0.19 [0.01, 0.70] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure utilized (partner’s view)) 0.23 [0.01, 0.96] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing experienced) 0.57 [0.29, 0.99] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing utilized (partner’s view)) 0.22 [0.02, 0.54] NA NA NA NA NA NA NA NA NA NA NA NA NA
Additional Parameters
sigma 0.68 [0.65, 0.70] NA 0.57 [0.56, 0.59] NA 0.96 [0.94, 0.98] NA NA NA NA NA NA NA
report::report_system()

Analyses were conducted using the R Statistical language (version 4.4.1; R Core Team, 2024) on Windows 11 x64 (build 22635)

report::report_packages()
  • beepr (version 2.0; Bååth R, 2024)
  • R.methodsS3 (version 1.8.2; Bengtsson H, 2003)
  • R.oo (version 1.27.0; Bengtsson H, 2003)
  • R.utils (version 2.12.3; Bengtsson H, 2023)
  • brms (version 2.22.0; Bürkner P, 2017)
  • digest (version 0.6.37; Eddelbuettel D, 2024)
  • Rcpp (version 1.0.13.1; Eddelbuettel D et al., 2024)
  • bayesplot (version 1.11.1; Gabry J, Mahr T, 2024)
  • lubridate (version 1.9.3; Grolemund G, Wickham H, 2011)
  • DHARMa (version 0.4.7; Hartig F, 2024)
  • wbCorr (version 0.1.22; Küng P, 2023)
  • see (version 0.9.0; Lüdecke D et al., 2021)
  • tibble (version 3.2.1; Müller K, Wickham H, 2023)
  • R (version 4.4.1; R Core Team, 2024)
  • openxlsx (version 4.2.7.1; Schauberger P, Walker A, 2024)
  • ggplot2 (version 3.5.1; Wickham H, 2016)
  • forcats (version 1.0.0; Wickham H, 2023)
  • stringr (version 1.5.1; Wickham H, 2023)
  • rvest (version 1.0.4; Wickham H, 2024)
  • tidyverse (version 2.0.0; Wickham H et al., 2019)
  • readxl (version 1.4.3; Wickham H, Bryan J, 2023)
  • dplyr (version 1.1.4; Wickham H et al., 2023)
  • purrr (version 1.0.2; Wickham H, Henry L, 2023)
  • readr (version 2.1.5; Wickham H et al., 2024)
  • xml2 (version 1.3.6; Wickham H et al., 2023)
  • tidyr (version 1.3.1; Wickham H et al., 2024)
  • knitr (version 1.49; Xie Y, 2024)
  • kableExtra (version 1.4.0; Zhu H, 2024)
report::cite_packages()